CNC machines use various tools (e.g., drills, end mills, reamers, taps, etc.) held by a movable, rotating spindle under the control of a program to form material such as metal into predetermined shapes or “parts.” Often several different tools are required to create a part from stock material, each tool performing a function as specified by the part program. Many CNC machines have an associated automatic tool changer (“ATC”) to speed the process of changing tools during execution of a part program. As is known in the art, such ATCs have many tool stations, each holding a particular tool which the ATC automatically indexes to a loading position for mounting to the spindle as required by the part program. Tools may also be changed manually. Generally, tools for manual loading that are used frequently by a particular machine are kept near the machine and are often mounted in tool holders. The locations of these tools for manual loading are collectively referred to as the manual tool changer (“MTC”). The various tools associated with a particular machine, either mounted in the spindle, mounted in the ATC, or available in the MTC, are referred to herein as the available tools.
Conventionally, to run a part program on a particular CNC machine, the operator had to determine from the part program the tools necessary to complete the part, and ensure that those tools were loaded, for example, in the ATC tool station locations expected by the part program. Alternatively, if a required tool was already loaded in the machine, but in a location different from that expected by the part program, the operator could modify the part program to reflect the actual location of the tool. Either way, the operator had to determine what tools were needed, identify the available tools, manually match the available tools with the needed tools, and correlate the actual locations of the available tools with the location designations of the needed tools specified by the part program. This process is slow and subject to error.